﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using StuertzDatenbank;


namespace StuertzDatenbank
{
    public partial class AuftragSucheGui : Form
    {
        private Sprachfile sprachfile;
        private DBF dbf;
        private List<Zustand> zustandsliste;
        private List<Kunde> kundenliste;
        public AuftragSucheGui(Benutzer benutzer)
        {
            this.benutzer = benutzer;
            


            dbf = new DBF();
            InitializeComponent();
            sprachfile = new Sprachfile();
            InitializeComponentChange();
            this.Refresh();
        }

        private void InitializeComponentChange()
        {
            this.StartButton.Text = sprachfile.Start;
            this.label1.Text = sprachfile.Auftragssuche;
            this.label2.Text = sprachfile.Auftragnummer;
            this.SucheButton1.Text = sprachfile.Suche;
            this.SucheButton2.Text = sprachfile.Suche;
            this.SucheButton3.Text = sprachfile.Suche;
            this.Kundenlabel.Text = sprachfile.Kunde;
            this.Statuslabel.Text = sprachfile.Status;
            this.Text = sprachfile.Auftragssuche;



            kundenliste = new List<Kunde>();
            zustandsliste = new List<Zustand>();

            kundenliste = dbf.alleKundenAusgeben();
            zustandsliste = dbf.listZustaende();

            for (int i = 0; i < kundenliste.Count; i++)
            {
                this.KundecomboBox.Items.Add(kundenliste[i].getName());
            }

            for (int i = 0; i < zustandsliste.Count; i++)
            {
                this.StatuscomboBox.Items.Add(zustandsliste[i].getZustand());
            }

           
            this.Refresh();
        }

        private void StartButton_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            startgui gui = new startgui(benutzer);
            this.Dispose();
            gui.ShowDialog();
        }

        private void ZurückButton_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            Auftraggui gui = new Auftraggui(benutzer);
            this.Dispose();
            gui.ShowDialog();
        }


        public Benutzer benutzer { get; set; }

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
           

        }

        private void AuftragnummerSucheButton1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text!=null)
            {
               // try
                //{
                    List<Auftrag> auftragliste = new List<Auftrag>();
            auftragliste.Add(dbf.getAuftrag(int.Parse(this.textBox1.Text)));
            AuftragauswahlGui gui = new AuftragauswahlGui(benutzer, auftragliste );
            this.Visible = false;
            this.Dispose();
            gui.ShowDialog();
               /* }
                catch (Exception)
                {
                    
                    
                }
            */
            }
          
        }

        private void KundenSucheButton2_Click(object sender, EventArgs e)
        {
            
             
            List<Auftrag> auftragliste = new List<Auftrag>();
            
            auftragliste=dbf.getAuftraege(kundenliste[KundecomboBox.SelectedIndex]);
            AuftragauswahlGui gui = new AuftragauswahlGui(benutzer,  auftragliste);
            this.Visible = false;
            this.Dispose();
            gui.ShowDialog();
        }

        private void StatusSucheButton3_Click(object sender, EventArgs e)
        {
            
            List<Auftrag> auftragliste = new List<Auftrag>();
            
            auftragliste=dbf.getAuftraege(zustandsliste[StatuscomboBox.SelectedIndex]);
           
			
            AuftragauswahlGui gui = new AuftragauswahlGui(benutzer, auftragliste);
            this.Visible = false;
            this.Dispose();
            gui.ShowDialog();
        }

      

       
    }
}
